perm filename CORLL.LSP[MRS,LSP] blob
sn#612316 filedate 1981-09-30 generic text, type T, neo UTF8
;;; -*-Mode:LISP; Package:MACSYMA -*- ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; Please do not modify this file. See MRG. ;;;
;;; (c) Copyright 1980 Michael R. Genesereth ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(declare (load '|<csd.genesereth>macros.fasl|) (special units)
(expfun ua-pattern ua-datum ua-put ua-rem ua-getfacts ua-list))
(setq units nil)
(defmode node () (atom <data>))
(defmode link () (atom <pattern>))
(defun a-atom (x s v) (if v (put x v s) (rem x s)))
(defun ua-pattern (n) :n:pattern)
(defun ua-datum (p)
(progb (s)
(setq s (implode (exploden p)))
(put s p 'pattern)
s))
(defun ua-put (n lk)
(if (null :n:data) (setq units (cons n units)))
(← :n:data (cons lk :n:data)))
(defun ua-rem (n lk)
(← :n:data (delq lk :n:data))
(if (null :n:data) (setq units (delq n units))))
(defun ua-getfacts (n) :n:data)
(defun ua-list (n) units)